An integrated circuit usually has many devices, each performing a different function. A device transfers data with other devices often based on timing of a main clock signal.
In a typical integrated circuit, a clock generator generates the main clock signal and distributes it to all devices in a parallel fashion such that all devices simultaneously receive a copy of the main clock signal. A clock distribution structure such as a clock tree is usually created to globally distribute the main clock signal throughout the integrated circuit.
Careful design of the clock tree is often necessary to allow accurate distribution of the main clock, to avoid signal interference, and to keep power consumption at an acceptable level.
As integrated circuits become denser and operate at a higher speed, designing an efficient clock tree becomes a challenge.